#!/bin/bash
#1，安装git工具
#2，下载、安装


#####需求替换
TOOLS="git"
SOFT="transmission"
VER="2.94"
SER="transmission-daemon"
RPMNAME="daemon"
PORT="9999"
PORT1="51413"


#####无需替换
GITEXT=".git"
FILEEXT="_init.sh"

TAG="."
TAG1=".*"
NUM="[0-9]"

DOWNDIR="/transmission_download/"
SHELLDIR="/opt/shell/"
SOFTDIR="/opt/"$SOFT"-"$VER"/"
CONFDIR="/var/lib/transmission/.config/transmission-daemon/"
CONFNAME="settings.json"
CONFFILE=""$CONFDIR""$CONFNAME""

GITADDR="https://gitee.com/ffing/"
GITDOWN=""$GITADDR""$SOFT"-"$VER""$GITEXT""

IPLAN=$(hostname -I | awk -F " " '{printf $1}')
IPWAN=$(curl http://pv.sohu.com/cityjson 2>> /dev/null | awk -F '"' '{print $4}')




#####安装TOOLS类
pName=$(rpm -qa | grep "^${TOOLS}${TAG}${NUM}${TAG}${NUM}")
if [ $? -eq 0 ]
then
       echo -e	"----------已存在，无需安装----------\n"${pName}""
	   echo
else
echo "----------正在安装 "${TOOLS}"……"
yum -y install $TOOLS
               if [ $? -eq 0 ]
               then
                        echo "----------安装完成 "${TOOLS}""
						echo
               else
                        echo -e "\e[41m >>>错误>>>安装失败 "${TOOLS}"\e[0m"
						echo
               fi
fi


######创建shell脚本存放目录
if [ ! -d $SHELLDIR ];then
echo "创建shell脚本存放目录 ${SHELLDIR}"
mkdir $SHELLDIR
else
echo "存在shell脚本存放目录 ${SHELLDIR}"
echo
fi

######创建下载目录
if [ ! -d $DOWNDIR ];then
echo "创建下载目录${DOWNDIR}"
mkdir $DOWNDIR
else
echo "存在下载目录 ${DOWNDIR}"
echo
fi




#####下载、安装

#版本号类型
#pName=$(rpm -qa | grep "^${SOFT}${TAG}${NUM}${TAG}${NUM}")
#名称类型
pName=$(rpm -qa | grep "^${SOFT}${TAG1}${RPMNAME}")
if [ $? -eq 0 ]
then
       echo -e	"----------已存在，无需安装----------\n"${pName}""
	   echo
else
		echo "----------开始下载 "${SOFT}"……"
		if [ ! -d $SOFTDIR ];then
		echo "创建${SOFT}下载目录 ${SOFTDIR}"
		git clone $GITDOWN $SOFTDIR 
		else
		echo "存在${SOFT}下载目录 ${SOFTDIR}"
		fi
		
		#判断配置目录是否存在
		if [ ! -d $CONFDIR ];then
		echo "创建${SOFT}配置目录 ${SOFTDIR}"
		mkdir -p $CONFDIR
		else
		echo "存在${SOFT}配置目录 ${SOFTDIR}"
		fi
		
		#判断配置文件是否存在
		if [ ! -f "$CONFFILE" ];then
		echo "创建${SOFT}配置文件"
		\cp $SOFTDIR$CONFNAME $CONFFILE 
		else
		echo "存在${SOFT}配置文件"
		fi
	
		echo "----------正在安装 "${SOFT}"……"
		yum -y localinstall ${SOFTDIR}* 
        if [ $? -eq 0 ]
        then
        echo "----------安装完成 "${SOFT}""
		echo
        else
        echo -e "\e[41m >>>错误>>>安装失败 "${SOFT}"\e[0m"
		echo
		fi
fi


#####开放防火墙端口
echo "配置永久开放端口：$PORT"
sed -i "s/\/zone/port protocol\=\"tcp\" port\=\"${PORT}\"\//g" /etc/firewalld/zones/public.xml
echo "</zone>" >>/etc/firewalld/zones/public.xml

sed -i "s/\/zone/port protocol\=\"tcp\" port\=\"${PORT1}\"\//g" /etc/firewalld/zones/public.xml
echo "</zone>" >>/etc/firewalld/zones/public.xml

firewall-cmd --reload  > /dev/null 2>&1


#####重启服务
#kill -9 $(ps -ef|grep ${SER} |gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ') >/dev/null 2>&1
systemctl restart $SER


#####服务状态
ps -ef|grep $SER|grep -vE "grep|$$" >/dev/null
if [ $? -eq 0 ];then
        echo -e "\e[42m "${SER}" 		已经启动\e[0m"
else
		echo -e "\e[41m "${SER}" 		启动失败\e[0m"
fi

echo
echo "—————————————————"$SOFT"————————————————"
echo ""$SOFT"下载目录：/"$SOFT"_download/"
echo ""$SOFT"监听端口：51413"
echo ""$SOFT"配置目录："$CONFFILE""
echo
echo ""$SOFT"内网访问：http://"$IPLAN":"$PORT""
echo ""$SOFT"外网访问：http://"$IPWAN":"$PORT""
echo "用户名：admin"
echo "密  码：123456"
echo "启动：systemctl start "$SER""
echo "停止：systemctl stop "$SER""
echo "重启：systemctl restart "$SER""
echo "———————————————————————————————————————————"


